Communication terminal having a predictive text editor application

ABSTRACT

A communication terminal having a predictive text editor application. A communication terminal has a predictive text editor for use in a dialogue application. The communication terminal comprises a transceiver unit through which said communication terminal is connected with a network and being able to receive a dialogue input. Language information is identified in said dialogue input. A directory language is automatically selected for said predictive text editor according to the identified language. The predictive text editor uses the selected directory language for transforming a string of ambiguous keystrokes entered by the user into text for said dialogue application.

BACKGROUND OF THE INVENTION

[0001] The invention relates to a communication terminal, e.g. acellular or cordless phone or a communicator, having a predictive texteditor application for entering and editing data.

[0002] This kind of editor is widely used in hand-portable terminalswith a few alphanumerical keys, each representing a number ofletters—e.g. two-four letters and one of the numbers 0-9.

[0003] The user is able to manually set the directory language to beused by the editor. In some cases a phone manufacturer sets the languageto be English as default or simply sets the predictive text editor offas default. Then the user has to change the editor from the multi-tabeditor to the predictive editor, and set the desired language, too

[0004] The directory is language specific and it contains sets ofstrings occurring in the language. U.S. Pat. No. 5,818,437 and WO98/33111 describes this kind of directory. The user is not able to writean English text by using, e.g. a German directory.

[0005] Predictive editors have therefore not been used for dialoguebetween two parties when E-mailing or chatting, or between e.g. anInternet based server and a mobile communication terminal.

SUMMARY OF THE INVENTION

[0006] According to a first aspect of the invention, there is provided amethod of controlling a directory language for a predictive editor usedin dialogue applications. The method comprises reception of a dialogueinput, identification of language information from said dialogue input,setting the directory language for the predictive editor according tothe identified language, and using the predictive editor for enteringinput in the dialogue. Hereby the terminal is able to detect thelanguage of the dialogue and change the directory language for theterminal to this language for the dialogue.

[0007] This feature will be advantageous when the dialogue applicationis a mobile Internet related application, and by a content provider viaa network connection provides the language information. This may be thecase for a WAP application where the user may enter a text into theterminal as response to down-load mobile Internet content.

[0008] Furthermore the dialogue application may be a message relatedapplication—e.g. an E-mail, an SMS or a SMS based chat session—and thelanguage information is specified by a party initiating the dialogueapplication via a network connection. According to the preferredembodiment the language information is identified by analysing atextstring contained in a message received as dialogue input.

[0009] The analysing of the text contained in the message received asdialogue input may preferably comprise steps of converting the messagetext words into stings of ambiguous key strokes, generating a candidatelist for the message text words by means the predictive editor using alanguage dependent directory based on said strings of ambiguous keystrokes, comparing said candidate list with the original message textword, and selecting said language dependent directory in the dialogueapplication when said comparison indicates a substantial matchingbetween the message text words and the corresponding candidate lists.

[0010] According to a further aspect of the invention is a communicationterminal provided having a predictive editor for use in a dialogueapplication. This communication terminal comprises a transceiver unitthrough which said communication terminal is connected with a networkand being able to receive a dialogue input, means for identifyinglanguage information in said dialogue input, means for selecting adirectory language for said predictive editor according to theidentified language and the predictive editor uses the selecteddirectory language for transforming a string of ambiguous key strokesentered by the user into text for said dialogue application.

BRIEF DESCRIPTIONS OF THE INVENTION

[0011] For a better understanding of the present invention and tounderstand how the same may be brought into effect reference will now bemade, by way of example only, to accompanying drawings, in which:—

[0012]FIG. 1 schematically illustrates a preferred embodiment of a handportable phone according to the invention.

[0013]FIG. 2 schematically shows the essential parts of a telephone forcommunication with e.g. a cellular network.

[0014]FIG. 3 shows the major components of the predictive text editoraccording to a preferred embodiment of the invention.

[0015]FIG. 4 shows the architecture of the ambiguity eliminatingsoftware according to a preferred embodiment of the invention.

[0016]FIG. 5 shows a display sequence for a message reply scenario in acommunication terminal according to the invention.

[0017]FIG. 6 shows a display sequence for an Internet based chatscenario in a communication terminal according to the invention.

[0018]FIG. 7 shows a flow diagram for determining a dialogue language ina communication terminal according to the invention.

DETAILED DESCRIPTION OF THE INVENTION

[0019]FIG. 1 shows a preferred embodiment of a phone according to theinvention, and it will be seen that the phone, which is generallydesignated by 1, comprises a user interface having a keypad 2, a display3, an on/off button 4, a speaker 5 (only openings are shown), and amicrophone 6 (only openings are shown). The phone 1 according to thepreferred embodiment is adapted for communication via a cellularnetwork, but could have been designed for a cordless network as well.The invention could be used in any type of device having an editor andambiguous alphanumeric keys.

[0020] According to the preferred embodiment the keypad 2 has a firstgroup 7 of keys as alphanumeric keys, two soft keys 8, and a navigationkey 10. Furthermore the keypad includes two call-handling keys 9 forinitiating and terminating calls. The present functionality of the softkeys 8 is shown in separate fields in the display 3 just above the keys8. This key layout is characteristic of e.g. the Nokia 6210™ phone.

[0021]FIG. 2 schematically shows the most important parts of a preferredembodiment of the phone, said parts being essential to the understandingof the invention. A processor 18, which i.a. supports the GSM terminalsoftware, controls the communication with the network via thetransmitter/receiver circuit 19 and an antenna 20.

[0022] The microphone 6 transforms the user's speech into analoguesignals; the signals formed thereby are A/D converted in an A/Dconverter (not shown) before the speech is encoded in an audio part 14.The encoded speech signal is transferred to the processor 18. Theprocessor 18 also forms the interface to a RAM memory 17 a and a FlashROM memory 17 b, a SIM card 16, the display 3 and the keypad 2 (as wellas data, power supply, etc.). The audio part 14 speech-decodes thesignal, which is transferred from the processor 18 to the earpiece 5 viaa D/A converter (not shown).

[0023] Basic Operation of the Predictive Text Editor.

[0024]FIG. 3 shows the major components of the predictive text editoraccording to the invention. The display 3 and the keyboard 2 establishthe man-machine interface. The processor 18 executes instructions andreads data from and writes data in the memory 17 b. Softwareinstructions in the memory 17 b include an operating system 40, adisambiguation program 42 and its vocabularies 41 a-c, and optionallyone or more application programs, such as an SMS message handlingapplication 43, and a WAP browser application 44.

[0025] Target applications programs for the predictive text editor usedin a handset includes the electronic phone book memory, notepad,messages, calendar, and Internet browsing.

[0026] When the processor 18 receives a dialogue invitation from anexternal author (content provider), the processor 18 checks whether akind of language indication is included in the dialogue invitation. Ifthis is the case the language identified from the language indication isset as language used by the predictive editor. If no language indicationaccompanies the dialogue invitation a text-to-ambiguous keystroke-converter 45 in FIG. 3 generates a string of ambiguous keystrokebased the received text in the dialogue invitation. The processor 18feeds these strings of ambiguous keystrokes to the predictive editor,and receives as response sets of matching candidates fitting theinputted string for each word. For each word the processor 18 comparesthe words in the received text in the dialogue invitation with the setsof matching candidates fitting the inputted string. If a match is deemedto be present, the process determines the language test to be thelanguage of the dialogue invitation and sets this language to be thelanguage of the dictionary used by the predictive editor. If match isnot found the next directory language is tested. This is repeated untila match is found or no match is found and no further languages areavailable. If no match can be found, the user is invited to manually setthe dictionary used by the predictive editor, or to use a multi-tapmethod where e.g. three taps of a key will identify the third letter ofthis key to be inserted.

[0027] System Architecture

[0028]FIG. 4 shows the architecture of the disambiguating software.Input from a keypad 2 is processed in an input manager 46. Input data isvia internal bus means 47 passed to a processing module 47, which keepsa record of the current key sequence until the user has accepted a wordbased on this sequence by pressing the space key, e.g. being present byshort pressing (shorter than e.g. 0.8 sec) the “0” key of alphanumerickeys. When a key stroke has been received by the processing module 47,the current key sequence is communicated via internal bus means 47 to aprocessor 18 (preferably being the same processor as the processor 18),which forwards the sequence to one or more modules 41 acting aselectronic vocabularies.

[0029] The vocabulary modules 41 a, 41 b, 41 c, . . . 41 n work inparallel and respond individually if they contain data matching thecurrent keystroke sequence. One vocabulary module 41 a might include adictionary containing words in a language, e.g. English, defined by theuser and used as editing language. The vocabulary modules 41 a, 41 b, 41c, . . . 41N often supply a plurality of matching words—either beingdisplayed or available through a selection list.

[0030] The processor 18 accumulates a complete list of matching wordsand character strings, as long as the number of keystrokes in theambiguous string of keystrokes does not exceed a predetermined value,for the selection list. When the processor 18 has finalised theprocessing, the processing module 47 transfers the selection list to adisplay manager 49 and the display 3 via the internal bus means 47.

[0031] In the most cases, the disambiguation software will work as aneditor server and therefore pass data strings directly to another clientor application program 43, 44 running on the processor 18, too. In thiscase the keypad 2, the input processor 46 and the display manager 49will be integrated in the application program 43, 44 using thepredictive text editor as a server. These applications may include theelectronic phone book memory, notepad, messages, calendar, and Internetbrowsing.

[0032] Table 1 shows a preferred key layout of the alphanumeric keys 7.When starting to type a word, the user simply presses the digit keycontaining the desired letter once. TABLE 1 Layout of the alphanumerickeys 7. 1 65 2 abc 3 def 4 ghi 5 jkl 6 mno 7 pqrs 8 tuv 9 wxyz * + 66 0

67 #

[0033] If the user wants to type the word “case”, he must press thefollowing keys (once) “2 abc” to insert the “c”, “2 abc” to insert the“a”, “7 pqrs” to insert the “s”, “3 def” to insert the “e”, and finallythe space key 67 in order to prepare for a new word.

[0034] Identifying language of a received SMS or from a downloadedWAP/XHTML page.

[0035] When a communication terminal receives data according to thepreferred embodiment of the invention—either as an SMS or as adownloaded WAP/XHTML page or as other types of files—the processor willconvert this data, probably being available as a string of ASCIIcharacters, into a string of ambiguous key stokes. For instance thismeans that the letters used in he text is replaced by the correspondingkeys 2-9 according to table 1. Then the processor starts to convert thestring of ambiguous key stokes back to a string of ASCII charactersusing the language dependent predictive editor. The languages availablefor the predictive editor are automatically ranked in advance. The firstlanguage to be tested for match is the language selected by the user aspreferred language for the predictive editor. A phone sold in theScandinavian countries may have the following six language directoriesavailable for the predictive editor:

[0036] English

[0037] Danish

[0038] Swedish

[0039] Norwegian

[0040] Finnish

[0041] Turkish

[0042] If e.g. Danish is the preferred language set by the user, theprocessor tests this language for match. This language may be Danish.Then the processor will test English due to it widely being used. When alanguage has been selected as preferred language for the predictiveeditor, the processor may set a flag indicating this setting. If one ormore further languages previously have been selected as preferredlanguages for the predictive editor, the processor tests the most recentselected language and so on. Finally the remaining languages are testedrandomly. The test is stopped when a language directory is deemed toprovide a match. This may be the case e.g. when a certain part out ofthe predetermined words in the text is recognised. This may be 90% outof 10 words (or all the words when less than 10).

[0043] With reference to FIG. 5, a sixteen-word text sequence isreceived.

[0044] “Hello Peter, I need your comments about the target for the nextperiod this afternoon. John”

[0045] This text is in English, but as indicated above the processorwill start testing the Danish language if this is selected preferredlanguage for the predictive editor.

[0046] Table 2 shows the text received in FIG. 5 in the dialogueinvitation, the generated string of ambiguous key stroke based thereceived text in the dialogue invitation, and indication of whethermatched may be found by using the Danish and the English. Furthermorethe table includes an explanation of the matches. TABLE 2 Matching inDanish and English language based on ambiguous keystrokes ReceivedAmbiguous Dan- words key strokes ish English Comments Hello 4-3-5-5-6 OKOK Loan word from English Peter 7-3-8-3-7 OK OK Probably available fromphonebook I 4 OK OK Different meaning in the two languages need 6-3-3-3— OK your 9-6-8-7 — OK comments 2-6-6-6-3-6- — OK 8-3 about 2-2-6-8-8 —OK the 8-4-3 OK OK Different meaning in the two languages target8-2-7-4-3-8 — OK for 3-6-7 OK OK Same meaning in the two languages

[0047] When the processor tests for words matching the string ofambiguous key strokes, the string 3-6-7 will with the Danish directorygive the following matching candidates “for”, “før”, “ens” and “dør”.When one of the matching candidates corresponds to the received word, amatch is deemed to be detected for this received word.

[0048] The processor will see that only five out of ten words arerecognised and continue with testing the English directory. Here allwords are recognised and the processor will deem the language of thereceived data to be identified as English and stop the testing.

[0049] Guessing Language of WAP/XHTML Pages

[0050] The specification of XHTML™ 1.0 (The Extensible HyperText MarkupLanguage) is a reformulation of HTML 4 in XML 1.0. The coming versionsof WAP (Wireless Application Protocol) specification will assumefeatures from the XHTML specification.

[0051] XHTML supports a language indication, and this indication isformed as an attribute called “lang”.

[0052] lang=language-code [Cl]

[0053] This attribute specifies the base language of an element'sattribute values and text content. The default value of this attributeis unknown.

[0054] Language information specified via the lang attribute may be usedby a user agent to control rendering in a variety of ways. Basically,the author supplies language information to the user. According to oneaspect of the invention the phone used for browsing in data provided bythe author may use a language dependent editor for entering into adialogue with the author.

[0055] The lang attribute specifies the language of element content andattribute values; whether it is relevant for a given attribute dependson the syntax and semantics of the attribute and the operation involved.

[0056] The intent of the lang attribute is to allow user agents torender content more meaningfull based on accepted cultural practice fora given language. This does not imply that user agents should rendercharacters that are a typical for a particular language in lessmeaningful ways; user agents must make a best attempt to render allcharacters, regardless of the value specified by lang.

[0057] For instance, if characters from the Greek alphabet appear in themidst of English text:

[0058] <P><Q lang=“en”>Her super-powers were the result of&gamma-radiation,</Q>he explained.</P>

[0059] Firstly a user agent should try to render the English content inan appropriate manner (e.g., in its handling the quotation marks) andsecondly the user agent must make a best attempt to render &gamma; eventhough it is not an English character.

[0060] Of course, a special ‘tag’ in xhtml and wap could be defined inorder to communicate the dialogue language to the user of the phone orthe communication terminal.

[0061]FIG. 5 shows a display sequence for a message reply scenario in acommunication terminal according to the invention. An SMS message isreceived by the phone 1, and when the user instructs the phone todisplay the received message, the message is displayed as the firstpicture of FIG. 5. The message text is displayed in a text field 51 ofthe display. The sender is identified in a header 50—e.g. as aphone-number (Calling Line Identification Presentation—CLIR) or as aname label the name label can be found in the phonebook memory 41 cbased on the CLIR. Two soft key labels 52 and 53 for the two soft keys 8are displayed below the text field 51.

[0062] When the user presses the soft key 8 providing the reply-option,the processor starts analysing the received message. Usually no languageinformation is included, so the processor has to do the test asindicated above with reference to table 2. The predictive editor of thephone is set to Danish, but the phone identifies the dialogue to be inEnglish. Therefore the phone sets the language of the predictive editorto be English as indicated in the header 50 of the second picture ofFIG. 5. The user starts to write a response in the text field 51 usingthe editor, and a cursor bar 54 indicates where in the text the nextcharacter will be inserted. The soft key labels 52 and 53 indicates thepresent functionality of the two soft keys 8.

[0063] The language setting for the predictive editor based on the testis only valid for the dialogue session. After the termination of thedialogue session, the directory language set by the user or by the SIMcard will apply again.

[0064]FIG. 6 shows a display sequence for an Internet based chatscenario in a communication terminal according to the invention. Via theWAP application 44 the phone enters a chat session. In the first pictureof FIG. 6 a chat history is received and displayed as paragraphs 61 in atext field of the display. The Internet address is identified in aheader 60—e.g. as an MMM address or a WWW address. Two soft key labels62 and 63 for the two soft keys 8 are displayed below the text field 61.

[0065] When the user presses the soft key 8 providing the reply-option,the processor starts analysing the received message. Languageinformation may be included; otherwise the processor has to do the testas discussed above. The predictive editor of the phone is set to Danish,but the phone identifies the dialogue to be in English. Therefore thephone sets the language of the predictive editor to be English asindicated in the header 60 of the second picture of FIG. 6. The userstarts to write an input 65 in the text field using the editor, and acursor bar 66 indicate where in the text the next character will beinserted. The soft key labels 62 and 63 indicates the presentfunctionality of the two soft keys 8.

[0066]FIG. 7 shows a flow diagram for determining a dialogue language ina communication terminal according to the invention. When the processor18 has to launch the predictive text editor at step 100 in response tothe user instruction to reply to an incoming dialogue invitation, theprocessor 18 has to identify the language directory to be used by thepredictive editor. In step 101 the processor 18 controls whether alanguage indicator or a language tag is included in the dialogueinvitation. If this is the case the processor 18 uses the identifiedlanguage in step 102 for the dialogue (the entire session).

[0067] If the dialogue invitation does not include any languageindication the processor 18 starts to analyse the received text in step103. First, in step 104 the processor 18 converts the text string into astring of ambiguous keystrokes by means of the converter 45.

[0068] If e.g. Danish is the preferred language set by the user, theprocessor sets this language as the first language, N=1. Then theprocessor will set English as the second language, N=2. When a languagehas been selected as the preferred language for the predictive editor,the processor may set a flag indicating this setting, and theselanguages will be set as third and further languages. In step 105 N isset to 1.

[0069] In step 106, the string of ambiguous key strokes provided in step104 is fed to the predictive editor using directory N. In step 107 theprocessor 18 controls whether the conversion provided in step 106matches with the received dialogue text. If this is the case thelanguage N is set as specified language in step 110 and used in thepredictive editor at step 102.

[0070] If there is no match at step 107, the processor 18 controls atstep 108 whether all possible languages have been tested. If not, theprocessor increases N at step 109 and tries to find match for the nextlanguage. These steps are repeated until a match is deemed to be presentat step 107 or it is deemed that no match is available at all at step108.

[0071] If no match is available at step 108 and all languages have beentested, the user is informed at step 111 that the dialogue languagecould not be identified. At step 112 the processor 18 invites the userto manually set the dialogue language for predictive editor or to selectto use multi-tapping for text entry.

What is claimed is:
 1. A method of controlling a directory language fora predictive editor used in a dialogue application, comprising receptionof a dialogue input; identification of language information from saiddialogue input: setting the directory language for the predictive editoraccording to the identified language; and using the predictive editorfor entering input in the dialogue.
 2. A method according to claim 1,wherein the dialogue application is a mobile Internet relatedapplication, and the language information is specified by a contentprovider via a network connection.
 3. A method according to claim 1,wherein the dialogue application is a message related application, andthe language information is specified by a party initiating the dialogueapplication via a network connection.
 4. A method according to claim 1,wherein the dialogue application is a message related application, andthe language information is identified by analysing a textstringcontained in a message received as dialogue input.
 5. A method accordingto claim 4, wherein the analysing of the text contained in the messagereceived as dialogue input, comprises steps of converting the messagetext words into strings of ambiguous key strokes; generating a candidatelist for the message text words by means of the predictive editor usinga language dependent directory based on said strings of ambiguous keystrokes; comparing said candidate list with the original message textword; and selecting said language dependent directory in the dialogueapplication when said comparison indicates a substantial matchingbetween the message text words and the corresponding candidate lists. 6.A communication terminal having a predictive editor for use in adialogue application, said communication terminal comprises: atransceiver unit through which said communication terminal is connectedwith a network and being able to receive a dialogue input; means foridentifying language information in said dialogue input; means forselecting a directory language for said predictive editor according tothe identified language; and the predictive editor uses the selecteddirectory language for transforming a string of ambiguous keystrokesentered by the user into text for said dialogue application.
 7. Acommunication terminal according to claim 6, wherein the dialogueapplication is a mobile Internet related application, and the languageinformation is specified by a content provider via a network connection.8. A communication terminal according to claim 6, wherein the dialogueapplication is a message related application, and the languageinformation is specified by a party initiating the dialogue applicationvia a network connection.
 9. A communication terminal according to claim6, wherein the dialogue application is a message related application,and the identification means identifies the dialogue language byanalysing a textstring contained in a message received as dialogueinput.
 10. A method according to claim 9, wherein the identificationmeans comprises: means for converting the message text words intostrings of ambiguous key strokes; means for generating a candidate listfor the message text words by means of the predictive editor using alanguage dependent directory based on said strings of ambiguous keystrokes; means for comparing said candidate list with the originalmessage text word; and means for selecting said language dependentdirectory in the dialogue application when said comparison indicates asubstantial matching between the message text words and thecorresponding candidate lists.